home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Programming / nsis-2.46-setup.exe / Contrib / Modern UI 2 / Pages / Directory.nsh < prev    next >
Encoding:
Text File  |  2009-01-10  |  3.4 KB  |  126 lines

  1. /*
  2.  
  3. NSIS Modern User Interface
  4. Directory page
  5.  
  6. */
  7.  
  8. ;--------------------------------
  9. ;Page interface settings and variables
  10.  
  11. !macro MUI_DIRECTORYPAGE_INTERFACE
  12.  
  13.   !ifndef MUI_DIRECTORYPAGE_INTERFACE
  14.     !define MUI_DIRECTORYPAGE_INTERFACE
  15.     Var mui.DirectoryPage
  16.     
  17.     Var mui.DirectoryPage.Text
  18.     
  19.     Var mui.DirectoryPage.DirectoryBox        
  20.     Var mui.DirectoryPage.Directory
  21.     Var mui.DirectoryPage.BrowseButton
  22.     
  23.     Var mui.DirectoryPage.SpaceRequired
  24.     Var mui.DirectoryPage.SpaceAvailable    
  25.   !endif
  26.  
  27. !macroend
  28.  
  29.  
  30. ;--------------------------------
  31. ;Page declaration
  32.  
  33. !macro MUI_PAGEDECLARATION_DIRECTORY
  34.  
  35.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}DIRECTORYPAGE ""
  36.   !insertmacro MUI_DIRECTORYPAGE_INTERFACE
  37.  
  38.   !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_TOP ""
  39.   !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_DESTINATION ""
  40.  
  41.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}directory
  42.  
  43.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
  44.  
  45.     Caption " "
  46.  
  47.     DirText "${MUI_DIRECTORYPAGE_TEXT_TOP}" "${MUI_DIRECTORYPAGE_TEXT_DESTINATION}"
  48.  
  49.     !ifdef MUI_DIRECTORYPAGE_VARIABLE
  50.       DirVar "${MUI_DIRECTORYPAGE_VARIABLE}"
  51.     !endif
  52.  
  53.     !ifdef MUI_DIRECTORYPAGE_VERIFYONLEAVE
  54.       DirVerify leave
  55.     !endif
  56.  
  57.   PageExEnd
  58.  
  59.   !insertmacro MUI_FUNCTION_DIRECTORYPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
  60.  
  61.   !undef MUI_DIRECTORYPAGE_TEXT_TOP
  62.   !undef MUI_DIRECTORYPAGE_TEXT_DESTINATION
  63.   !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VARIABLE
  64.   !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VERIFYONLEAVE
  65.  
  66. !macroend
  67.  
  68. !macro MUI_PAGE_DIRECTORY
  69.  
  70.   !verbose push
  71.   !verbose ${MUI_VERBOSE}
  72.  
  73.   !insertmacro MUI_PAGE_INIT
  74.   !insertmacro MUI_PAGEDECLARATION_DIRECTORY
  75.  
  76.   !verbose pop
  77.  
  78. !macroend
  79.  
  80. !macro MUI_UNPAGE_DIRECTORY
  81.  
  82.   !verbose push
  83.   !verbose ${MUI_VERBOSE}
  84.  
  85.   !insertmacro MUI_UNPAGE_INIT
  86.   !insertmacro MUI_PAGEDECLARATION_DIRECTORY
  87.  
  88.   !verbose pop
  89.  
  90. !macroend
  91.  
  92.  
  93. ;--------------------------------
  94. ;Page functions
  95.  
  96. !macro MUI_FUNCTION_DIRECTORYPAGE PRE SHOW LEAVE
  97.  
  98.   Function "${PRE}"
  99.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  100.     !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_SUBTITLE)
  101.   FunctionEnd
  102.  
  103.   Function "${SHOW}"
  104.   
  105.     ;Get control handles
  106.     FindWindow $mui.DirectoryPage "#32770" "" $HWNDPARENT
  107.     GetDlgItem $mui.DirectoryPage.Text $mui.DirectoryPage 1006
  108.     GetDlgItem $mui.DirectoryPage.DirectoryBox $mui.DirectoryPage 1020
  109.     GetDlgItem $mui.DirectoryPage.Directory $mui.DirectoryPage 1019 
  110.     GetDlgItem $mui.DirectoryPage.BrowseButton $mui.DirectoryPage 1001
  111.     GetDlgItem $mui.DirectoryPage.SpaceRequired $mui.DirectoryPage 1023    
  112.     GetDlgItem $mui.DirectoryPage.SpaceAvailable $mui.DirectoryPage 1024
  113.   
  114.     !ifdef MUI_DIRECTORYPAGE_BGCOLOR
  115.       SetCtlColors $mui.DirectoryPage.Directory "" "${MUI_DIRECTORYPAGE_BGCOLOR}"
  116.     !endif
  117.     
  118.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  119.   FunctionEnd
  120.  
  121.   Function "${LEAVE}"
  122.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  123.   FunctionEnd
  124.  
  125. !macroend
  126.